
#ifndef SKYSSP_WRAPPER_H
#define SKYSSP_WRAPPER_H

#include "skyssp_common.h"

///////////////////////////////////////
//

typedef void* skyssp_w_handler;

#ifdef __cplusplus
extern "C"
{
#endif

skyssp_w_handler skyssp_wrapper_open();

void skyssp_wrapper_close(skyssp_w_handler inst);

void skyssp_set_parameter(skyssp_w_handler inst,
		Int32 keyIndexInterval,
		Int8  streamsCount,
		t_skyssp_stream_desc* streamDescriptors );

Int32 skyssp_get_header_encode( skyssp_w_handler inst,
		void* bufferIn,
		Int32 sizeIn,
		void* bufferOut,
		Int32 sizeOutMax,
		Int32* sizeOut );

Int32 skyssp_wrapper( skyssp_w_handler inst,
		Int8 streamId,
		void* frameIn, 
		Int32 sizeIn, 
		Int32 timestamp,
		Int8	keyframe,
		void* bufferOut, 
		Int32 sizeOutMax, 
		Int32* sizeOut,
		UInt32* offset );

Int32 skyssp_get_end_flag( skyssp_w_handler inst,
		void* bufferOut,
		Int32 sizeOutMax,
		Int32* sizeOut );

#ifdef __cplusplus
}
#endif

#endif
